﻿using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using Business;
using Model;

namespace Gui.Web.Forms
{
    public partial class IngresoDatos : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(Page.IsPostBack) return;
            FechaIngreso.Text = DateTime.Now.ToShortDateString();
            CargarDatos(DateTime.Now);
        }

        protected void Cancelar_Click(object sender, EventArgs args)
        {

        }

        protected void Guardar_Click(object sender, EventArgs args)
        {
            foreach (GridViewRow filaGrid in DatosColaborador.Rows)
            {
                var dataKey = DatosColaborador.DataKeys[filaGrid.RowIndex];
                if (dataKey == null) continue;

                var idColaborador = int.Parse(dataKey.Value.ToString());
                var faltantesSobrantes = new FaltantesSobrantesBusiness();
                faltantesSobrantes.InsertarActualizarFaltantesSobrantes(
                    new FaltantesSobrantes
                    {
                        IdColaborador = idColaborador,
                        FechaIngreso = DateTime.Parse(FechaIngreso.Text),
                        Faltante = Convert.ToDouble(((TextBox)filaGrid.FindControl("TextoFaltante")).Text),
                        Sobrante = Convert.ToDouble(((TextBox)filaGrid.FindControl("TextoSobrante")).Text)
                    });
            }
        }

        protected void FechaIngreso_TextChanged(object sender, EventArgs e)
        {
            DateTime fechaIngreso;
            CargarDatos(!DateTime.TryParse(FechaIngreso.Text, out fechaIngreso) ? DateTime.Now : fechaIngreso);
        }

        private void CargarDatos(DateTime fechaIngreso)
        {
            var faltantesSobrantes = new FaltantesSobrantesBusiness();
            FechaIngreso.Text = DateTime.Now.ToString("dd/MM/yyyy");
            DatosColaborador.DataSource = faltantesSobrantes.ObtenerFaltantesSobrantes(fechaIngreso).DatosFaltantesSobrantes;
            DatosColaborador.DataBind();
        }
    }
}